Ortac: Runtime Assertion Checking for OCaml (Tool Paper)
نویسندگان
چکیده
Runtime assertion checking (RAC) is a convenient set of techniques that lets developers abstract away the process verifying correctness their programs by writing formal specifications and automating verification at runtime.In this work, we present ortac, runtime tool for OCaml libraries programs. functional programming language in which idioms rely on an expressive type system, modules, interface abstractions. ortac consumes interfaces annotated with invariants function contracts produces code wrappers same signature check these runtime. It provides flexible framework traditional checking, monitoring misbehaviors without interruptions, automated fuzz testing programs.This paper presents overview features highlights its main design choices.
منابع مشابه
Runtime Assertion Checking Using JML
public class IntMathOps3 { //@ requires y >= 0; public static int isqrt(int y) { return (int) Math.sqrt(y); } } Figure 1: A simple specification requiring the parameter to be non-negative
متن کاملEfficient Runtime Assertion Checking of Assignable Clauses with Datagroups
Runtime assertion checking is useful for debugging programs and specifications. Existing tools check invariants as well as method preand postconditions, but mostly ignore assignable (or modifies) clauses, which specify the heap locations a method is allowed to assign to. A way to abstract from implementation details is to specify assignable clauses using datagroups, which represent sets of conc...
متن کاملA Lesson on Runtime Assertion Checking with Frama-C
Runtime assertion checking provides a powerful, highly automatizable technique to detect violations of specified program properties. This paper provides a lesson on runtime assertion checking with Frama-C, a publicly available toolset for analysis of C programs. We illustrate how a C program can be specified in executable specification language e-acsl and how this specification can be automatic...
متن کاملEffective and Efficient Runtime Assertion Checking for JML Through Strong Validity
Previously, we presented an assertion semantics for JML based on “strong validity” in which an assertion is taken to be valid precisely when it is defined and true. Elsewhere we have shared our positive experiences with the realization and use of this new semantics in the context of ESC/Java2. In this paper, we describe the challenges faced by and the redesign required for the implementation of...
متن کاملJ-LO A tool for runtime-checking temporal assertions
We present a Runtime Verification framework for Java programs called the Java Logical Observer, J-LO for short. Properties can be specified in Linear-time Temporal Logic (LTL) over AspectJ pointcuts. These properties are checked during program-execution by an automaton-based approach where transitions are triggered through aspects. No Java source code is necessary since AspectJ works on the byt...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2021
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-030-88494-9_13